Fix solaar not detecting any devices on Alpine Linux

placeholder snippy one-liner, as I couldn't think of one at the time

Home About Projects Blog Games Contact Support

From some edge kernel update or other thing, solaar stopped working for my logitech mx master 3S, due to no output devices detected, diagnosed from checking solaar show.

From cursory web searches, there should be a file in udev rules, as /etc/udev/rules.d/42-logitech-unify-permissions.rules. I'm not sure when that file got removed, but it should exist for the logitech unified receiver to work, and possibly for bluetooth connecting/pairing.

Re-adding the package with doas apk del solaar and doas apk add solaar did not add this file back, but the file does normally exist as it gets patched, from looking at the udev-rules.patch file in aports under https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/solaar

Aports udev-rules.patch file:

--- a/rules.d/42-logitech-unify-permissions.rules
+++ b/rules.d/42-logitech-unify-permissions.rules
@@ -26,7 +26,7 @@
 TAG+="uaccess", TAG+="udev-acl"

 # Grant members of the "plugdev" group access to receiver (useful for SSH users)
-#MODE="0660", GROUP="plugdev"
+MODE="0660", GROUP="plugdev"

 LABEL="solaar_end"
 # vim: ft=udevrules
--- a/setup.py
+++ b/setup.py
@@ -23,7 +23,7 @@
         yield _dirname(mo), [mo]

     yield 'share/applications', ['share/applications/solaar.desktop']
-    yield 'share/solaar/udev-rules.d', ['rules.d/42-logitech-unify-permissions.rules']
+    yield 'lib/udev/rules.d', ['rules.d/42-logitech-unify-permissions.rules']
     yield 'share/metainfo', ['share/solaar/io.github.pwr_solaar.solaar.metainfo.xml']

     del _dirname

Fixing no devices found for Logitech MX Master 3S

solaar should now work and connect/pair as normal.

"Patched" 42-logitech-unify-permissions.rules file

# This rule was added by Solaar.
#
# Allows non-root users to have raw access to Logitech devices.
# Allowing users to write to the device is potentially dangerous
# because they could perform firmware updates.

ACTION != "add", GOTO="solaar_end"
SUBSYSTEM != "hidraw", GOTO="solaar_end"

# USB-connected Logitech receivers and devices
ATTRS{idVendor}=="046d", GOTO="solaar_apply"

# Lenovo nano receiver
ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6042", GOTO="solaar_apply"

# Bluetooth-connected Logitech devices
KERNELS == "0005:046D:*", GOTO="solaar_apply"

GOTO="solaar_end"

LABEL="solaar_apply"

# Allow any seated user to access the receiver.
# uaccess: modern ACL-enabled udev
TAG+="uaccess", TAG+="udev-acl"

# Grant members of the "plugdev" group access to receiver (useful for SSH users)
MODE="0660", GROUP="plugdev"

LABEL="solaar_end"
# vim: ft=udevrules